package com.jic.point.mapper;
import com.jic.point.model.entity.ConfBd;
import com.jic.point.model.vo.response.ConfBdResponse;
import com.jic.point.rest.request.SignData;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

public interface ConfBdMapper {
	/**
	 * CONF_BD插入数据
	 * @param confBd 入参实体类
	 */
	int insert (ConfBd confBd);

	/**
	 * CONF_BD插入数据
	 * @param confBd 入参实体类
	 */
	int insertSelective (ConfBd confBd);

	/**
	 * CONF_BD根据表对象数据修改数据
	 * @param confBd 入参实体类
	 */
	int updateByPrimaryKey (ConfBd confBd);
    /**
     * CONF_BD根据表对象数据修改数据
     * @param confBd 入参实体类
     */
    int updateByPrimaryKeyApply (ConfBd confBd);


    /**
	 * CONF_BD根据表对象数据修改数据
	 * @param confBd 入参实体类
	 */
	int updateByCode(ConfBd confBd);

	/**
	 * CONF_BD根据表对象数据修改数据
	 * @param confBd 入参实体类
	 */
	int updateByPrimaryKeySelective (ConfBd confBd);

	/**
	 * CONF_BD根据id删除数据
	 * @param confBd 入参实体类
	 */
	int deleteByPrimaryKey (ConfBd confBd);

	/**
	 * CONF_BD根据主键查询数据
	 * @param confBd 入参实体类
	 */
	ConfBd selectByPrimaryKey (ConfBd confBd);

	ConfBd selectByode(ConfBd confBd);
	/**
	 * CONF_BD根据主键查询数据
	 * @param confBd 入参实体类
	 */
	List<ConfBd> listPageBySelective (ConfBd confBd);

	/**
	 * CONF_BD查询数据
	 * @param confBd 入参实体类
	 */
	List<ConfBd>  selectBySelective (ConfBd confBd);

	/**
	 * 获取所有的bd部门
	 * */
    List<ConfBdResponse> query();

	/**
	 * 获取bd部门的coude
	 * **/
    String getBdCode(@Param("id") Long id);

    //部门
    List<ConfBd> selConfBdByCode(SignData signData);

	/**
	 *根据code查询
	 * @param bdCode
	 * @return
	 */
	ConfBd selectConfBdByCode(@Param("bdCode")String bdCode);

    BigDecimal queryAvailablePoint(@Param("code") String busiCode);
    /**
     *
     *
     * @description: 查询bd部门的可用金额
     * @return:
     * @author: fengrui
     * @time: 2020/12/07 10:12
     */
	List<ConfBd> selectBdAvailable();

	List<ConfBd> sekectBdFrozen();

	List<ConfBd> selectBdTotal();

	List<ConfBd> sekectBdRealLeft();

    Integer updateMoney(ConfBd confBd);

	Integer updateMoneys(ConfBd confBd);

    int dbPointDeduction(ConfBd confbd);
}
